#ifndef MINEDESIGN3D_IUI
#define MINEDESIGN3D_IUI
#include <boost/shared_ptr.hpp>
#include "MineDesign3D/UIData.hpp"
#include "MineDesign3D/ModeDef.hpp"
namespace MineDesign3D{
class IUI
{
public:
	virtual ~IUI(){}
	virtual void Init(UIData* pUIData,ReadonlyUIData* pReadonlyUIData) = 0;
	virtual void Fin() = 0;
	virtual void refresh() = 0;

	typedef boost::shared_ptr<IUI> ptr;
};
IUI::ptr CreateUI(Mode m);
}//MineDesign3D
#endif